List of cosmological computation software
This List of Cosmological Computation Software catalogs the tools and programs used by scientists in cosmological research.
In the past few decades, the accelerating technological evolution has profoundly enhanced astronomical instrumentation, enabling more precise observations and expanding the breadth and depth of data collection by several orders of magnitude. Simultaneously, the exponential growth in computational power has enabled the creation of computer simulations that reveal details with unprecedented resolution and accuracy. For performing computer simulations of the cosmos and analyzing data from both cosmological experiments and simulations, many advanced methods and computational software codes are developed every year. These codes are widely used by researchers all across the globe, in all various fields and topics of cosmology.
The computational software used in cosmology can be classified into the following major classes[according to whom?]:
- Cosmological Boltzmann codes: These codes are used for calculating the theoretical power spectrum given the cosmological parameters. These codes are capable of calculating the power spectrum from the standard LCDM model or its derivatives. Some of the most used CMB Boltzmann codes are CMBFAST,[1][2][3] CAMB,[4] CMBEASY,[5][6] CLASS,[7][8][9] CMBAns[10] etc.
- Cosmological parameter estimator: The parameter estimation codes are used for calculating the best-fit parameters from the observation data. The ready to use codes available for this purpose are CosmoMC,[11][12] AnalyzeThis,[13] SCoPE[14] etc.
Newtonian cosmological simulation codes
[edit]GADGET
[edit]GADGET, named "GAlaxies with Dark matter and Gas intEracT" is a code written in C++ for cosmological N-body/Smoothed-particle hydrodynamics (SPH) simulations on massively parallel computers with distributed memory.[15] Its first version was developed by German astrophysicist, Volker Springel and was published in 2000.[16] It was followed by two more official public versions, with GADGET-2[17][18] released in 2005 and GADGET-4[19][20] released in 2020, which is the most recent public version of the software suite currently. GADGET is capable to address a wide array of astrophysically interesting problems, e.g. the dynamics of the gaseous intergalactic medium, star formation and its regulation by feedback processes, colliding and merging galaxies, as well as the formation of large-scale structure in the Universe.
AREPO
[edit]AREPO[21][22] is a massively parallel code for gravitational N-body systems, hydrodynamics and magnetohydrodynamics (MHD). It is named after the enigmatic word AREPO in the Latin palindromic sentence "sator arepo tenet opera rotas", the Sator Square. The first version of AREPO was written and published by Volker Springel in 2010, with further development by Rüdiger Pakmor and contributions by many other authors. The Arepo code utilizes an unstructured Voronoi-mesh and was designed to blend the benefits of finite-volume hydrodynamics and SPH. Primarily optimized for cosmological simulations, especially galaxy formation, Arepo supports a high dynamic range in space and time.[23]
RAMSES
[edit]GIZMO
[edit]GIZMO[24] is a flexible, massively parallel, multi-physics simulation code, written in ANSI C by Philip F. Hopkins. The code offers diverse methods to solve fluid equations. It also introduces novel methods, which optimize the resolution of simulations and minimize common errors found in previous methods that limited the accuracy of prior solvers. Originating from GADGET (hence the name "GIZMO", a play on words), the code maintains compatibility in naming/use conventions as well as input/output, making it user-friendly for those familiar with GADGET.[25]
PKDGRAV3
[edit]StePS
[edit]StePS,[26][27] which stands for "STEreographically Projected cosmological Simulations" is a freely available code that implements a novel N-body simulation method that models an infinite universe within a finite sphere with isotropic boundary conditions to follow the evolution of the large-scale structure. Unlike traditional methods, which use unrealistic periodic boundary conditions for numerical simplicity, StePS offers a more observation-aligned approach. This technique enables detailed simulations of an infinite universe using less memory and provides results that are more in line with the observed universe geometry and topology.[28]
Relativistic cosmological simulation codes
[edit]gevolution
[edit]CosmoGRaPH
[edit]CosmoGRaPH (Cosmological General Relativity And (Perfect fluid | Particle) Hydrodynamics) is a C++ code used to explore cosmological problems in a fully general relativistic setting. It was developed by James Mertens and Chi Tian and was published in 2016. The code implements various novel methods for numerically solving the Einstein field equations, including an N-body solver, full AMR capabilities via SAMRAI, and raytracing.
Cosmological Boltzmann codes
[edit]CMBFAST
[edit]CMBFAST is a computer code, developed by Uroš Seljak and Matias Zaldarriaga (based on a Boltzmann code written by Edmund Bertschinger, Chung-Pei Ma and Paul Bode) for computing the power spectrum of the cosmic microwave background anisotropy. It is the first efficient program to do so, reducing the time taken to compute the anisotropy from several days to a few minutes by using a novel semi-analytic line-of-sight approach.
CAMB
[edit]Code for Anisotropies in the Microwave Background by Antony Lewis and Anthony Challinor. The code was originally based on CMBFAST. Later several developments are made to make it a faster and more accurate and compatible with the present research. The code is written in an object oriented manner to make it more user friendly.
CMBEASY
[edit]CMBEASY is a software package written by Michael Doran, Georg Robbers and Christian M. Müller. The code is based on the CMBFAST package. CMBEASY is fully object oriented C++. This considerably simplifies manipulations and extensions of the CMBFAST code. In addition, a powerful Spline class can be used to easily store and visualize data. Many features of the CMBEASY package are also accessible via a graphical user interface. This may be helpful for gaining intuition, as well as for instruction purposes.
CLASS
[edit]The purpose of the Cosmic Linear Anisotropy Solving System is to simulate the evolution of linear perturbations in the universe and to compute CMB and large scale structure observables. CLASS is written in plain C to achieve high performance, yet its modular structure emulates the architecture and philosophy of classes in object-oriented languages for enhanced readability and modularity. The name "CLASS" also derives from its object-oriented style, mimicking the notion of a class.
Parameter estimation packages
[edit]![](http://upload.wikimedia.org/wikipedia/commons/thumb/0/0a/Snapshot3-2-.png/220px-Snapshot3-2-.png)
AnalizeThis
[edit]AnalizeThis is a parameter estimation package used by cosmologists. It comes with the CMBEASY package. The code is written in C++ and uses the global metropolis algorithm for estimation of cosmological parameters. The code was developed by Michael Doran, for parameter estimation using WMAP-5 likelihood. However, the code was not updated after 2008 for the new CMB experiments. Hence this package is currently not in use by the CMB research community. The package comes up with a nice GUI.
CosmoMC
[edit]CosmoMC is a Fortran 2003 Markov chain Monte Carlo (MCMC) engine for exploring cosmological parameter space. The code does brute force (but accurate) theoretical matter power spectrum and Cl calculations using CAMB. CosmoMC uses a simple local Metropolis algorithm along with an optimized fast-slow sampling method. This fast-slow sampling method provides faster convergence for the cases with many nuisance parameters like Planck. CosmoMC package also provides subroutines for post processing and plotting of the data.
CosmoMC was written by Antony Lewis in 2002 and later several versions are developed to keep the code up-to date with different cosmological experiments. It is presently the most used cosmological parameter estimation code.
SCoPE
[edit]SCoPE/Slick Cosmological Parameter Estimator is a newly developed cosmological MCMC package written by Santanu Das in C language. Apart from standard global metropolis algorithm the code uses three unique technique named as 'delayed rejection' that increases the acceptance rate of a chain, 'pre-fetching' that helps an individual chain to run on parallel CPUs and 'inter-chain covariance update' that prevents clustering of the chains allowing faster and better mixing of the chains. The code is capable of faster computation of cosmological parameters from WMAP and Planck data.
Other packages
[edit]- MADCAP — Microwave Anisotropy Data Computational Analysis Package developed by Borrill et al.
- SIToolBox — SI Toolbox is a package for estimating the isotropy violation in the CMB sky. It is developed by Das et al. and it consists of several Fortran subroutines and stand-alone facilities, that can be used to estimate the BipoSH coefficients from non statistically isotropic (nSI) skymaps.[29]
- RECFAST — Software was developed by Seager, Sasselov, and Scott and used to calculate the recombination history of the universe. The package is used by cosmological boltzmann codes (CMBFast, CAMB etc.)
- TOAST — Time Ordered Astrophysics Scalable Tools, developed and designed by Theodore Kisner, Reijo Keskitalo, Jullian Borrill et al. It "generalizing the problem of CMB map-making to the reduction of any pointed time-domain data, and ensuring that the analysis of exponentially growing datasets scales to the largest HPC systems available".[30]
- Commander - Commander is an Optimal Monte-carlo Markov chAiN Driven EstimatoR which implements fast and efficient end-to-end CMB posterior exploration through Gibbs sampling. It was developed by Hans Kristian Eriksen et al.[31]
Likelihood software packages
[edit]Different cosmology experiments, in particular the CMB experiments like WMAP and Planck measures the temperature fluctuations in the CMB sky and then measure the CMB power spectrum from the observed skymap. But for parameter estimation the χ² is required. Therefore, all these CMB experiments comes up with its own likelihood software.
See also
[edit]Notes
[edit]- ^ Seljak, Uros; Zaldarriaga, Matias (1996). "A Line of Sight Approach to Cosmic Microwave Background Anisotropies". Astrophysical Journal. 469: 437–444. arXiv:astro-ph/9603033. Bibcode:1996ApJ...469..437S. doi:10.1086/177793. S2CID 3015599.
- ^ Zaldarriaga, Matias; Uros Seljak; Edmund Bertschinger (1998). "Integral Solution for the Microwave Background Anisotropies in Non-flat Universes". Astrophysical Journal. 494 (2): 491–502. arXiv:astro-ph/9704265. Bibcode:1998ApJ...494..491Z. doi:10.1086/305223. S2CID 15966880.
- ^ Seljak, U., & Zaldarriaga, M. "CMBFAST". Archived from the original on 2016-04-06. Retrieved 2014-02-22.
{{cite web}}
: CS1 maint: multiple names: authors list (link) - ^ Lewis, Antony; Challinor, Anthony (2011). "CAMB: Code for Anisotropies in the Microwave Background". Astrophysics Source Code Library: ascl:1102.026. Bibcode:2011ascl.soft02026L.
- ^ Doran, Michael. "CMBEASY". Archived from the original on 2014-01-18. Retrieved 2014-02-22.
- ^ Doran, Michael (27 Apr 2006). "CMBEASY:: an Object Oriented Code for the Cosmic Microwave Background". Journal of Cosmology and Astroparticle Physics (Submitted manuscript). 0510 (10): 011. arXiv:astro-ph/0302138. Bibcode:2005JCAP...10..011D. doi:10.1088/1475-7516/2005/10/011. S2CID 5451633.
- ^ Blas, D.; J. Lesgourgues; T. Tram (2011). "CLASS II: Approximation schemes". Journal of Cosmology and Astroparticle Physics. 1107 (7): 034. arXiv:1104.2933. Bibcode:2011JCAP...07..034B. doi:10.1088/1475-7516/2011/07/034. S2CID 53490516.
- ^ Lesgourgues, J (2011). "CLASS I: Overview". arXiv:1104.2932 [astro-ph.IM].
- ^ Lesgourgues, J. "CLASS, the Cosmic Linear Anisotropy Solving System". Archived from the original on July 15, 2023.
- ^ Das, Santanu; Phan, Anh (5 May 2020). "Cosmic Microwave Background Anisotropy numerical solution (CMBAns). Part I. An introduction to Cl calculation". Journal of Cosmology and Astroparticle Physics. 2020 (5): 006. arXiv:1910.00725. Bibcode:2020JCAP...05..006D. doi:10.1088/1475-7516/2020/05/006. S2CID 203626962.
- ^ Lewis, Antony; Sarah Bridle (2002). "Cosmological parameters from CMB and other data: a Monte-Carlo approach". Physical Review D. 66 (10): 103511. arXiv:astro-ph/0205436. Bibcode:2002PhRvD..66j3511L. doi:10.1103/PhysRevD.66.103511. S2CID 55316758.
- ^ Lewis, Antony (2013). "Efficient sampling of fast and slow cosmological parameters". Physical Review D. 87 (10): 103529. arXiv:1304.4473. Bibcode:2013PhRvD..87j3529L. doi:10.1103/PhysRevD.87.103529. S2CID 119259816.
- ^ Doran, Michael; Christian M. Mueller (2004). "Analyze This! A Cosmological Constraint Package for CMBEASY". Journal of Cosmology and Astroparticle Physics. 0409 (3): 003. arXiv:astro-ph/0311311. Bibcode:2004JCAP...09..003D. doi:10.1088/1475-7516/2004/09/003. S2CID 119333027.
- ^ Das, Santanu; Tarun Souradeep (2014). "SCoPE: An efficient method of Cosmological Parameter Estimation". Journal of Cosmology and Astroparticle Physics. 1407 (18): 018. arXiv:1403.1271. Bibcode:2014JCAP...07..018D. doi:10.1088/1475-7516/2014/07/018. S2CID 119233297.
- ^ "Cosmological simulations with GADGET".
- ^ Springel, Volker; Yoshida, Naoki; White, Simon D.M. (2001). "GADGET: A code for collisionless and gasdynamical cosmological simulations". New Astronomy. 6 (2): 79–117. arXiv:astro-ph/0003162. Bibcode:2001NewA....6...79S. doi:10.1016/S1384-1076(01)00042-2. S2CID 5879269.
- ^ Springel, Volker (2005). "The cosmological simulation code gadget-2". Monthly Notices of the Royal Astronomical Society. 364 (4): 1105–1134. arXiv:astro-ph/0505010. Bibcode:2005MNRAS.364.1105S. doi:10.1111/j.1365-2966.2005.09655.x. S2CID 16378825.
{{cite journal}}
: CS1 maint: unflagged free DOI (link) - ^ "ASCL.net - GADGET-2: A Code for Cosmological Simulations of Structure Formation". ascl.net. Retrieved 2023-10-25.
- ^ Springel, Volker; Pakmor, Rüdiger; Zier, Oliver; Reinecke, Martin (2021). "Simulating cosmic structure formation with the <SCP>gadget</SCP>-4 code". Monthly Notices of the Royal Astronomical Society. 506 (2): 2871–2949. arXiv:2010.03567. doi:10.1093/mnras/stab1855.
{{cite journal}}
: CS1 maint: unflagged free DOI (link) - ^ "ASCL.net - GADGET-4: Parallel cosmological N-body and SPH code". ascl.net. Retrieved 2023-10-25.
- ^ Springel, Volker (2010). "E pur si muove: Galilean-invariant cosmological hydrodynamical simulations on a moving mesh". Monthly Notices of the Royal Astronomical Society. 401 (2): 791–851. arXiv:0901.4107. Bibcode:2010MNRAS.401..791S. doi:10.1111/j.1365-2966.2009.15715.x. S2CID 119241866.
{{cite journal}}
: CS1 maint: unflagged free DOI (link) - ^ "ASCL.net - AREPO: Cosmological magnetohydrodynamical moving-mesh simulation code". ascl.net. Retrieved 2023-10-25.
- ^ "Arepo documentation — Arepo 1.0 documentation".
- ^ "ASCL.net - GIZMO: Multi-method magneto-hydrodynamics+gravity code". ascl.net. Retrieved 2023-10-25.
- ^ "GIZMO | Phil Hopkins' Research Group". www.tapir.caltech.edu. Retrieved 2023-10-25.
- ^ Rácz, G.; Szapudi, I.; Dobos, L.; Csabai, I.; Szalay, A.S. (2019). "StePS: A multi-GPU cosmological N-body Code for compactified simulations". Astronomy and Computing. 28: 100303. arXiv:1811.05903. Bibcode:2019A&C....2800303R. doi:10.1016/j.ascom.2019.100303. S2CID 84842307.
- ^ "ASCL.net - StePS: Stereographically Projected Cosmological Simulations". ascl.net. Retrieved 2023-10-25.
- ^ StePS - STEreographically Projected cosmological Simulations, ELTE Virtual Observatory, 2023-03-02, retrieved 2023-10-25
- ^ Das, Santanu (November 2019). "SIToolBox: A package for Bayesian estimation of the isotropy violation in the CMB sky". MNRAS. 489 (4): 5889–5899. arXiv:1810.09470. doi:10.1093/mnras/stz2542.
- ^ "C3 Research — CMB".
- ^ Eriksen, H. K.; Jewell, J. B.; Dickinson, C.; Banday, A. J.; Górski, K. M.; Lawrence, C. R. (March 2008). "Joint Bayesian Component Separation and CMB Power Spectrum Estimation". The Astrophysical Journal. 676 (1): 10–32. arXiv:0709.1058. Bibcode:2008ApJ...676...10E. doi:10.1086/525277. S2CID 8662228.